חוויה טובה בגדול. שיחת טלפון קצרה ובעקבותה עבודה בית. לאחר מכן ראיון טכני במשרדי החברה.
שאלות מתוך הראיון
first technical exercice in three parts:
- manipulation of an Excel table of drivers with filters, pivot tables, etc...
- comparaison between 3 sensor outputs with statistical distribution, mean values, etc...
- study of an output frame from a sensor with hexadecimal conversions, FCS,
write an algorithm that calculates the minimum floor in 100 store building where the egg doesn't break and you have only two eggs
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2019
בתחילה, נניח שיש רק ביצה אחת. זורקים אותה מקומות: 1, 2, 3 ... הקומה הראשונה שממנה הביצה כן נשברה, מפחיתים 1 וזו הקומה הגבוהה ביותר שממנה מפילים ביצה והביצה לא נשברת.
עכשיו, יש 2 ביצים ולכן ניתן לכתוב אלגוריתם יותר יעיל.
נניח שמפילים את ביצה מס' 1 מקומות: 10, 20, 30, 40, ... כשהביצה הראשונה נשברת, עוברים לשניה וממשיכים בצעדים של קומה 1. כמה צעדים נצטרך המקרה הגרוע ביותר? איך לעשות אופטימיזציה עוד יותר טובה למספר צעדים קטן ביותר?
משימת בית ארוכה, לאחר מכן ראיון 1 עם שאלות/בעיות מכל מיני עולמות (פיזיקה, לוגיקה, מכאניקה, אלקטרוניקה, תוכנה). סימוליציות של מצבים בעבודה. כנל ראיון 2.
שאלות מתוך הראיון
סימוליציות של מצבים בעבודה וניהול ארוע מול כל מיני בעלי תפקידים.
מבחן מקצועי שנשלח דרך המייל, במבחן יש 3 סנסורים על כל סנסור עשו בדיקת מרחק מספר פעמים, והשאלות מתייחסות לתוצאות שהתקבלו, כגון מה הממוצע ומה הסנסור בעל הדיוק הגבוהה, מה מרחק השגיאה וכו'..
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2019
תלוי בשאלה, כמובן צריך לעשות חישוב שגיאות ולמצוא את סטיית תקן וממוצע וכל מה שנדרש כדי להגיע לתשובה הנכונה
השאלה לא מספיק מפורטת, אבל נניח שהשאלה היא:
נתונות שתי רשימות מקושרות (חד צדדיות? דו צדדיות?) והמשימה היא ליצור איחוד ביניהן.
הבהרה: משמעותו של "איחוד" בהקשר הזה הוא יצירת רשימה אחת שמכילה את כל האלמנטים שיש בשתי הרשימות למעט האלמנטים שנמצאים בשתיהן ביחד.
דוגמא:
רשימה א: 1->4->6->3
רשימה ב: 2->5->3->6
התוצר יהיה:
1->4->3->6->2->5
שאלות הבהרה: האם צריך לבצע In place? (לא להקצות זיכרון חדש)
או אולי יוצרים רשימה חדשה שהיא איחוד של שתי הרשימות?
האם אנחנו יכולים להניח שאין איברים שחוזרים על עצמם באותה רשימה?
פיתרון:
הפלט מכיל קודם כל את אחת הרשימות.
אליה נוסיף רק איברים מהרשימה השניה שלא מופיעים בה.
לצורך כך:
1. טריוויאלית, נעבור עם לולאה חיצונית על כל איבר ברשימה החדשה ונבדוק אם הוא לא קיים ברשימה שכבר הכנסנו לפיתרון. אם לא קיים - להוסיף אותו (כאן נכנסת השאלה האם in place ואז צריך למחוק אותו מהרשימה המקורית ולהכניס אותו בסוף רשימת הפלט, או פשוט להוסיף node עם הערך שלו).
O(n^2
לא מי יודע מה יעיל.
2. לעבור פעם אחת על רשימת הפלט ולשמור את הערכים בhash_set.
ואז לעבור על הרשימה השניה ועבור כל איבר לבדוק אם מופיע בhash_set. אם לא - להוסיף לפלט.
(אם יש צורך in place אפשר במקום hash_set להשתמש ב-hash_map ולאכסן כvalue את הptr של הnode הספציפי ואותו למחוק מהרשימה המקורית ולהוסיף לפלט)